home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 576-600 / disk_587 / conlib / c_stuff / conglue.asm next >
Assembly Source File  |  1992-05-06  |  3KB  |  163 lines

  1. ;==================================================================
  2. ;===
  3. ;===    Name:    ConGlue.asm
  4. ;===
  5. ;===    Author:    Bjørn Reese & Michael Berg
  6. ;===
  7. ;===    Glue code for 'con.library'
  8. ;===
  9. ;==================================================================
  10.  
  11.     XREF    _ConBase
  12.  
  13. ;--- First the _LVO's ---------------------------------------------
  14.  
  15. _LVOOpenCon    EQU -30
  16. _LVOCloseCon    EQU -36
  17. _LVODoFormat    EQU -42
  18. _LVOUserNotes    EQU -48
  19. _LVODefineChars    EQU -54
  20. _LVODisplayRaw    EQU -60
  21. _LVODisplay    EQU -66
  22. _LVOAccept    EQU -72
  23. _LVOAcceptString EQU -78
  24. _LVOSetMsgHandler EQU -84
  25. _LVOGetInfo    EQU -90
  26. _LVOSetGfx    EQU -96
  27. _LVOGotoXY    EQU -102
  28. _LVOCursor    EQU -108
  29. _LVOScroll    EQU -114
  30. _LVOConvert    EQU -120
  31.  
  32. ;--- Custom Macro -------------------------------------------------
  33.  
  34. CALLCON: MACRO
  35.     move.l    a6,-(sp)
  36.     move.l    _ConBase,a6
  37.     jsr    _LVO\1(a6)
  38.     move.l    (sp)+,a6
  39.     rts
  40.     ENDM
  41.  
  42. ;--- The glue code itself -----------------------------------------
  43.  
  44.     XDEF    _OpenCon
  45. _OpenCon:
  46.     move.l    4(sp),a0        ; ConWindow
  47.     move.l    8(sp),d0        ; CursorMode
  48.     CALLCON    OpenCon
  49.  
  50.     XDEF    _CloseCon
  51. _CloseCon:
  52.     move.l    4(sp),a0        ; ConHandle
  53.     CALLCON    CloseCon
  54.  
  55.     XDEF    _DoFormat
  56. _DoFormat:
  57.     movem.l    a2/a3/a6,-(sp)
  58.     movem.l    12+4(sp),a0-a3        ; ConHandle, String, FormatArgs, TextBuffer
  59.     move.l    12+20(sp),d0        ; BufferSize
  60.     move.l    _ConBase,a6
  61.     jsr    _LVODoFormat(a6)
  62.     movem.l    (sp)+,a2/a3/a6
  63.     rts
  64.  
  65.     XDEF    _UserNotes
  66. _UserNotes:
  67.     move.l    4(sp),a0        ; ConHandle
  68.     move.l    8(sp),a1        ; UserText
  69.     move.w    12(sp),d0        ; NoteNumber
  70.     CALLCON    UserNotes
  71.  
  72.     XDEF    _DefineChars
  73. _DefineChars:
  74.     move.w    4(sp),d0        ; Mode
  75.     move.l    6(sp),a1        ; BitTable
  76.     move.l    10(sp),a2        ; ArrayOfChars
  77.     CALLCON    DefineChars
  78.  
  79.     XDEF    _DisplayRaw
  80. _DisplayRaw:
  81.     move.l    4(sp),a0        ; ConHandle
  82.     move.l    8(sp),a1        ; String
  83.     move.l    12(sp),d0        ; MaxLength
  84.     CALLCON    DisplayRaw
  85.  
  86.     XDEF    _Display
  87. _Display:
  88.     movem.l    a2/a6,-(sp)
  89.     movem.l    8+4(sp),a0/a1/a2    ; ConHandle, String, FormatArgs
  90.     move.l    8+16(sp),d0        ; MaxLength
  91.     move.l    _ConBase,a6
  92.     jsr    _LVODisplay(a6)
  93.     movem.l    (sp)+,a2/a6
  94.     rts
  95.  
  96.     XDEF    _Accept
  97. _Accept:
  98.     move.l    4(sp),a0        ; ConHandle
  99.     move.l    8(sp),a1        ; AcceptStructure
  100.     move.l    12(sp),d0        ; Flags
  101.     CALLCON    Accept
  102.  
  103.     XDEF    _AcceptString
  104. _AcceptString:
  105.     move.l    4(sp),a0        ; ConHandle
  106.     move.l    8(sp),a1        ; AcceptStructure
  107.     move.l    12(sp),d0        ; Flags
  108.     CALLCON    AcceptString
  109.  
  110.     XDEF    _SetMsgHandler
  111. _SetMsgHandler:
  112.     move.l    4(sp),a0        ; ConHandle
  113.     move.l    8(sp),a1        ; NewMsgHandler
  114.     CALLCON    SetMsgHandler
  115.  
  116.     XDEF    _GetInfo
  117. _GetInfo:
  118.     move.l    4(sp),a0        ; ConHandle
  119.     move.l    8(sp),a1        ; ConInfo
  120.     CALLCON    GetInfo
  121.  
  122.     XDEF    _SetGfx
  123. _SetGfx:
  124.     movem.l    d2/a6,-(sp)
  125.     move.l    8+4(sp),a0        ; ConHandle
  126.     movem.w    8+8(sp),d0/d1/d2    ; Styles, FgCol, BgCol
  127.     move.l    _ConBase,a6
  128.     jsr    _LVOSetGfx(a6)
  129.     movem.l    (sp)+,d2/a6
  130.     rts
  131.  
  132.     XDEF    _GotoXY
  133. _GotoXY:
  134.     move.l    4(sp),a0        ; ConHandle
  135.     movem.w    8(sp),d0/d1        ; X, Y
  136.     CALLCON    GotoXY
  137.  
  138.     XDEF    _Cursor
  139. _Cursor:
  140.     move.l    4(sp),a0        ; ConHandle
  141.     move.w    8(sp),d0        ; Mode
  142.     CALLCON    Cursor
  143.  
  144.     XDEF    _Scroll
  145. _Scroll:
  146.     move.l    4(sp),a0        ; ConHandle
  147.     move.w    8(sp),d0        ; Step
  148.     CALLCON    Scroll
  149.  
  150.     XDEF    _Convert
  151. _Convert:
  152.     movem.l    a2/a6,-(sp)
  153.     move.l    8+4(sp),a1        ; String
  154.     move.l    8+8(sp),a2        ; ResultBuffer
  155.     move.l    8+12(sp),d0        ; Flags
  156.     move.w    8+16(sp),d1        ; MaxLength
  157.     move.l    _ConBase,a6
  158.     jsr    _LVOConvert(a6)
  159.     movem.l    (sp)+,a2/a6
  160.     rts
  161.  
  162.     END
  163.